home *** CD-ROM | disk | FTP | other *** search
/ ShareWare OnLine 2 / ShareWare OnLine Volume 2 (CMS Software)(1993).iso / util1 / ben311.zip / !BENTXT.EXE / BEN.TXT
Text File  |  1993-05-15  |  53KB  |  1,457 lines

  1. ┌───────────────────────────────────────────────────────────────┐
  2. │                                                               │
  3. │           ╒═════════╗  ╒═════════╗  ╒════╗   ╒════╗           │
  4. │           └┐  ╓───┐ ╚╗ └┐  ╓───┐ ║  │    ╚╗  └┐  ╓╜           │
  5. │            │  ║   │  ║  │  ║   └─╜  │  ╟┐ ╚╗  │  ║            │
  6. │            │  ╚═══╛  ║  │  ╚══╗     │  ║└┐ ╚╗ │  ║            │
  7. │            │  ╓───┐  ║  │  ╓──╜     │  ║ └┐ ╚╗│  ║            │
  8. │            │  ║   │  ║  │  ║   ╒═╗  │  ║  └┐ ╚╡  ║            │
  9. │           ╒╛  ╚═══╛ ╓╜ ╒╛  ╚═══╛ ║ ╒╛  ╚╗  └┐    ║            │
  10. │           └─────────╜  └─────────╜ └────╜   └────╜            │
  11. │                                                               │
  12. │                                                               │
  13. │                                                               │
  14. │                    BATCH ENHANCER VERSION 3.11                │
  15. │                                                               │
  16. │                                                               │
  17. │                       (C) 1993 by Simvis Soft                 │
  18. │                         All Rights Reserved                   │
  19. │                                                               │
  20. └───────────────────────────────────────────────────────────────┘
  21.  
  22. This program is distributed under the Shareware scheme. You are
  23. encouraged to give copies of this program to other computer
  24. users. If you decide to use the program, support the Shareware
  25. marketing concept by becoming a registered user. Read section 6.1
  26. for more details.
  27.  
  28. ─────────────────────────────────────────────────────────────────
  29.  
  30. Table of Contents
  31.  
  32. 1.1  What is BEN?
  33. 1.2  Advantages of BEN over other batch file enhancement programs
  34. 1.3  System requirements
  35. 1.4  How to install BEN
  36. 1.5  How to run BEN
  37.  
  38. 2.1  Quick introduction to BEN's functions
  39. 2.2  In-depth discussion of each BEN function
  40. 2.3  BEN and environment variables
  41.  
  42. 3.1  BENEdit
  43. 3.2  MDESIGN
  44.  
  45. 4.1  Legality information
  46.  
  47. 5.1  How to install ANSI.SYS
  48. 5.2  Hints and tips
  49. 5.3  Support, bugs report, comments, problems...
  50.  
  51. 6.1  Shareware registration
  52.  
  53. ─────────────────────────────────────────────────────────────────
  54. 1.1  What is BEN?
  55.  
  56. BEN stands for the Batch ENhancer:
  57.  
  58. *BATCH*
  59. Batch is a very simple yet powerful language DOS uses. Batch
  60. files always end with the extension .BAT. For example, the
  61. AUTOEXEC.BAT in the root directory of your boot disk is a batch
  62. file. Although batch file is very flexible, it has some unwelcome
  63. weaknesses. For example, it cannot get input from the user or
  64. even do simple color-changing.
  65.  
  66. *ENHANCER*
  67. BEN is developed to compensate for Batch language's weaknesses.
  68. BEN improve many aspects of the current batch file functions, and
  69. it also introduce many new ones. With BEN, you can produce very
  70. useful batch files that can even compete with compiled
  71. programming codes. Yet, BEN is so simple to use that even a
  72. beginner can produce attractive batch files in no time at all.
  73. Once you start using BEN, you will be able to incorporate colors,
  74. sounds, menus, pop-up boxes and a host of other spectacular
  75. features into any batch file that you ever write.
  76.  
  77. To see an example of what BEN can do for you, run the included
  78. BENDEMO.BAT. Remember to keep in mind that BENDEMO.BAT is only a
  79. batch file!
  80.  
  81. ─────────────────────────────────────────────────────────────────
  82. 1.2  Advantages of BEN over other batch file enhancement
  83.      programs:
  84.  
  85. -    Large number of powerful functions (42 in total) all
  86.      contained into one EXE file.
  87.      
  88. -    All of these functions are very easy to use.
  89.      
  90. -    Comes with BENEdit, a text editor that is tailored for BEN.
  91.      With BENEdit, you can edit all your batch files and access
  92.      all the features of BEN quickly and easily.
  93.      
  94. -    Optimized for speed.
  95.      
  96. -    Perfect for menu systems.
  97.      
  98. -    Can be used for programming any batch utilities (eg.
  99.      INSTALL.BAT).
  100.      
  101. -    Compatible with DOS and Windows.
  102.      
  103. -    Compatible with the network environment. You can now use BEN
  104.      to program all the network batch files!
  105.      
  106. ────────────────────────────────────────────────────────────────
  107. 1.3  System requirements:
  108.  
  109. IBM PC/Compatible with 384k+ RAM
  110. PC/MS-DOS 2.1 or higher
  111.  
  112. Suggested:     ANSI.SYS or equivalent
  113.  
  114. (Note: ANSI.SYS is a driver for the display format designed by
  115. the American National Standards Institute. This driver is
  116. included with all versions of PC/MS-DOS. It is required for the
  117. COLOR function. If ANSI.SYS is not installed in your computer
  118. yet, please refer to section 5.1 for instructions on
  119. installation.)
  120.  
  121. ─────────────────────────────────────────────────────────────────
  122. 1.4  How to install BEN:
  123.  
  124. Use the supplied INSTALL.BAT, or just copy every file into a
  125. directory of your choice.
  126.  
  127. ─────────────────────────────────────────────────────────────────
  128. 1.5  How to run BEN:
  129.  
  130. Format:   [d:][pathname] BEN function [params] [functions
  131.           [params]...]
  132.  
  133. Entering the command "BEN" alone in DOS gives you an online help
  134. of BEN's functions. Make sure that the file BEN.HLP is in the
  135. same directory as BEN.EXE. Otherwise, the online help wouldn't
  136. work.
  137.  
  138. To access a BEN function, you must enter the command "BEN"
  139. followed by the name of the function. Some functions doesn't
  140. require any parameter. An example of this is the Beep function.
  141. You can use it by entering this command into your batch file:
  142.  
  143. BEN Beep
  144.  
  145. Other functions of BEN require one or more parameters. For
  146. example, you can clear the screen with the color blue by entering
  147. this command into your
  148. batch file:
  149.  
  150. BEN Cls Blue
  151.  
  152. BEN functions can be "stacked" one after another in a command
  153. line. For example, you can group the Beep function and the CLS
  154. function together, one after another. In this case, BEN will
  155. first create a beep, then it will clear the screen with the color
  156. blue:
  157.  
  158. BEN Beep Cls Blue
  159.  
  160. When you stack functions together, you may use the "/" separators
  161. if you want. This is not mandatory, but it helps to increase the
  162. readability of your batch file. For example:
  163.  
  164. BEN Beep / Cls Blue
  165.  
  166. ─────────────────────────────────────────────────────────────────
  167. 2.1  Quick introduction to BEN's functions:
  168.  
  169. Ask:            Ask gives the user a choice of keys to press. The
  170.                 batch file can then interpret the result and act
  171.                 accordingly.
  172.                 
  173. Beep:           Beep simply creates a "beep" sound.
  174.                 
  175. Box:            Box creates a Box on the screen.
  176.                 
  177. CleanUp:        CleanUp is used at the end of batch files. Its
  178.                 purpose is cleaning up the mess left behind by
  179.                 batch routines.
  180.                 
  181. Cls:            Cls clears the screen with the specified color.
  182.                 
  183. Color:          Color changes the current writing color.
  184.                 
  185. Cursor:         Cursor changes the cursor shape.
  186.                 
  187. Delay:          Delay pauses the computer for the specified
  188.                 period of time.
  189.                 
  190. DirDisp:        DirDisp displays a directory selection dialog box
  191.                 where the user is given the opportunity to
  192.                 choose a file. This is similar to the FILE OPEN
  193.                 dialog box of Windows.
  194.                 
  195. DirDispA:       DirDispA is an advanced version of DirDisp.
  196.                 
  197. Echo:           Same as the DOS Echo command.
  198.                 
  199. EGAVGA:         EGAVGA switches the EGA 43 / VGA 50 line mode on
  200.                 or off.
  201.                 
  202. Extract:        Extract returns a part of a fully qualified
  203.                 filename.
  204.                 
  205. Flush:          Flush clears the keyboard buffer.
  206.                 
  207. GetCD:          GetCD returns the current directory to the batch
  208.                 file.
  209.                 
  210. GetKey:         GetKey pauses the computer until the user presses
  211.                 a key. This key is returned to the batch file.
  212.                 
  213. GetKeyL:        GetKeyL is the same as GetKey, except the key
  214.                 pressed by the user is converted into lowercase
  215.                 before it is returned to the batch file.
  216.                 
  217. GetKeyU:        GetKeyU is the same as GetKey, except the key
  218.                 pressed by the user is converted into uppercase
  219.                 before it is returned to the batch file.
  220.                 
  221. GetLine:        GetLine pauses the computer until the user types
  222.                 a string and presses ENTER. The string is
  223.                 returned to the batch file.
  224.                 
  225. GetLineL:       GetLineL is the same as GetLine, except the
  226.                 string typed by the user is converted into
  227.                 lowercase before it is returned to the batch
  228.                 file.
  229.                 
  230. GetLineU:       GetLineU is the same as GetLine, except the
  231.                 string typed by the user is converted into
  232.                 uppercase before it is returned to the batch
  233.                 file.
  234.                 
  235. GetVideo:       GetVideo checks what kind of video system is
  236.                 installed (eg. CGA, VGA) and return the result
  237.                 to the batch file.
  238.                 
  239. GrowFilledBox:  GrowFilledBox displays a filled box on the
  240.                 screen. The box "grows" out to the screen for a
  241.                 special effect.
  242.                 
  243. List:           List is a file browser.
  244.                 
  245. Locate:         Locate moves the cursor to the specified screen
  246.                 position.
  247.                 
  248. Menu:           Menu displays a menu on the screen. The choice
  249.                 selected by the user is returned to the batch
  250.                 file.
  251.                 
  252. MenuF:          Displays a menu created with MDESIGN, the Menu
  253.                 Designer, onto the screen.
  254.                 
  255. MenuLCD:        Same as Menu, except that the menu is displayed
  256.                 in black and white for added clarity on LCD
  257.                 screens.
  258.                 
  259. Message:        Message draws a box on the screen and displays
  260.                 the specified message.
  261.                 
  262. Pause:          Pause pauses the computer until the user presses
  263.                 a key.
  264.                 
  265. Play:           Play produces music from the speaker. BEN Play
  266.                 uses the same statements that the BASIC Play
  267.                 uses.
  268.                 
  269. SavePath:       SavePath is a environment-memory conservation
  270.                 function.
  271.                 
  272. Scroll:         Scrolls a specified region of text up, down, left
  273.                 or right.
  274.                 
  275. ShadFilledBox:  ShadFilledBox displays a filled box on the
  276.                 screen. This box has a shadow.
  277.                 
  278. Shell:          Shell lets the user jump to DOS in the middle of
  279.                 a batch file.
  280.                 
  281. Sound:          Sound produces a sound with the specified
  282.                 frequency and the specified duration.
  283.                 
  284. T:              T uses a data file to run BEN functions more
  285.                 efficiently.
  286.                 
  287. TitledBox:      TitledBox displays a filled box with a title on
  288.                 the screen.
  289.                 
  290. TransparentBox: TransparentBox shades a specified region of the
  291.                 screen with the specified color.
  292.                 
  293. Write:          Displays a string of text on the screen with the
  294.                 specified color.
  295.                 
  296. WriteC:         Displays a string of text on the screen with the
  297.                 specified color. The text is centred between the
  298.                 two sides of the monitor.
  299.                 
  300. WriteV:         Displays a string of text on the screen with the
  301.                 specified color. The text is oriented
  302.                 vertically.
  303.                 
  304. ─────────────────────────────────────────────────────────────────
  305. 2.2  In-depth discussion of each BEN function.
  306.  
  307. BOX FUNCTIONS
  308. ─────────────
  309.  
  310. Box x1 y1 x2 y2 foreground background borderstyle
  311.  
  312.      This function draws an empty box on the screen with an
  313.      upper-left corner of (x1,y1) and a lower-right corner of
  314.      (x2,y2). Borderstyle can be one of the following:
  315.  
  316.      0    -    no border
  317.      1    -    single line box (─)
  318.      2    -    double line box (═)
  319.      3    -    double sides, single top and bottom
  320.      4    -    single sides, double top and bottom
  321.      5    -    single left and upper, double lower and right
  322.      6    -    menu box style
  323.      7+   -    the border is drawn using the ASCII character
  324.                represented by the style value.
  325.  
  326.      The "foreground" and "background" colors can be specified
  327.      with special words that BEN recognize. These words are:
  328.      Black, Blue, Green, Cyan, Red, Magenta, Brown, LightGray,
  329.      DarkGray, LightBlue, LightGreen, LightCyan, LightRed, Light
  330.      Magenta, Yellow, and White.
  331.  
  332.      You can also specify the colors with a number if you want.
  333.      For example, instead of using the word "Black", you can use
  334.      the number 0. Instead of using the word "Blue", you can use
  335.      the number 1. And so on.
  336.  
  337.      Examples: BEN Box 1 1 80 25 White Blue 1
  338.                BEN Box 10 10 20 20 Yellow Black 3
  339.                BEN Box 4 4 8 8 9 2 65
  340.  
  341.      In the first example, BEN draws a white on blue box with a
  342.      single-line border, an upper-left corner of (1,1) and a
  343.      lower-right corner of (80,25).
  344.  
  345.      In the second example, BEN draws a yellow on black box with
  346.      double-lined borders on the sides and single-lined borders
  347.      on the top and the bottom. The box has an upper-left corner
  348.      of (10,10) and a lower-right corner of (20,20).
  349.  
  350.      In the third example, BEN draws a light-blue on green box
  351.      with a border that is drawn by the ASCII character 65 ("A").
  352.      The box has an upper-left corner of (4,4) and a lower-right
  353.      corner of (8,8).
  354.  
  355. FilledBox x1 y1 x2 y2 foreground background borderstyle
  356.  
  357.      Same as Box, but the box is filled instead of empty.
  358.  
  359.      Examples: BEN FilledBox 1 1 80 25 White Blue 1
  360.                BEN FilledBox 10 10 20 20 Yellow Black 3
  361.                BEN FilledBox 4 4 8 8 9 9 2 65
  362.  
  363. GrowFilledBox x1 y1 x2 y2 foreground background borderstyle
  364.  
  365.      Same as FilledBox, but the box "grows" out onto the screen,
  366.      creating a spectacular effect.
  367.  
  368.      Examples: BEN GrowFilledBox 1 1 80 25 White Blue 1
  369.                BEN GrowFilledBox 10 10 20 20 Yellow Black 3
  370.                BEN GrowFilledBox 4 4 8 8 9 2 65
  371.  
  372. ShadFilledBox x1 y1 x2 y2 foreground background borderstyle
  373.  
  374.      Same as FilledBox, but the box has a shadow.
  375.  
  376.      Examples: BEN ShadFilledBox 1 1 80 25 White Blue 1
  377.                BEN ShadFilledBox 10 10 20 20 Yellow Black 3
  378.                BEN ShadFilledBox 4 4 8 8 9 2 65
  379.  
  380. TitledBox x1 y1 x2 y2 foreground background borderstyle title
  381.  
  382.      Same as FilledBox, but the box has a title. Please note that
  383.      tildes (~) in the title are interpreted as spaces.
  384.  
  385.      Examples: BEN TitledBox 1 1 80 25 White Blue 1 Great~box!
  386.                BEN TitledBox 10 10 20 20 Yellow Black 3 Another!
  387.                BEN TitledBox 4 4 8 8 9 2 65 Best~box~here!
  388.  
  389. TransparentBox x1 y1 x2 y2 foreground background
  390.  
  391.      Paints the region specified by (x1,y1) - (x2,y2) with the
  392.      specified foreground and background colors. Text that are
  393.      originally on the screen are not erased; they are just
  394.      painted with a new color. Please note that the borderstyle
  395.      parameter is not required.
  396.  
  397.      Examples: BEN TransparentBox 1 1 80 25 White Blue
  398.                BEN TransparentBox 10 10 20 20 Yellow Black
  399.                BEN TransparentBox 4 4 8 8 9 2
  400.  
  401.  
  402. INPUT FUNCTIONS
  403. ───────────────
  404.  
  405. Ask options
  406.  
  407.      Waits for the user to press a key that is contained in the
  408.      'options' string. The option that the user selects is passed
  409.      to the batch file as an errorlevel. (For more details on
  410.      errorlevels, please refer to your DOS manual.)
  411.  
  412.      For instance, if the options string is ABCDE and the user
  413.      presses the letter C on the keyboard, an errorlevel of 3 is
  414.      returned (C is the third character of the string).
  415.  
  416.      Example:  @Echo Off
  417.                BEN Echo A. Format your hard drive.
  418.                BEN Echo B. Diskcopy a disk.
  419.                BEN Echo C. Run Windows.
  420.                BEN Echo D. Run DOSShell.
  421.                BEN Echo E. Play Sim City.
  422.                BEN Echo ~
  423.                BEN Echo Please make your selection.
  424.                BEN Ask ABCDE
  425.  
  426.                If Errorlevel 5 If Not Errorlevel 6 Goto SimCity
  427.                If Errorlevel 4 If Not Errorlevel 5 DOSShell
  428.                If Errorlevel 3 If Not Errorlevel 4 C:\WIN\WIN
  429.                If Errorlevel 2 If Not Errorlevel 3 DiskCopy A: A:
  430.                If Errorlevel 1 If Not Errorlevel 2 Format C:
  431.                Goto End
  432.  
  433.                :SimCity
  434.                C:
  435.                CD\SimCity
  436.                SimCity
  437.  
  438.                :End
  439.  
  440. GetKey
  441.  
  442.      Waits for the user to enter a key. This key is returned via
  443.      the environment variable %BEN% (or %BEN2%, %BEN3%, etc.
  444.      Please refer to section 2.3: "BEN and Environment Variables"
  445.      at for further details.)
  446.  
  447.      Example:  BEN GetKey
  448.                BEN Echo You've pressed the %BEN% key!
  449.  
  450. GetKeyL
  451.  
  452.      Same as GetKey, but the key is converted into lowercase
  453.      before it is returned.
  454.  
  455.      Example:  BEN GetKeyL
  456.                BEN Echo You've pressed the %BEN% key!
  457.  
  458. GetKeyU
  459.  
  460.      Same as GetKey, but the key is converted into uppercase
  461.      before it is returned.
  462.  
  463.      Example:  BEN GetKeyU
  464.                BEN Echo You've pressed the %BEN% key!
  465.  
  466. GetLine
  467.  
  468.      Waits for the user to enter a string. This string is
  469.      returned via the environment variable %BEN% (or %BEN2%,
  470.      %BEN3%, etc. Please refer to section 2.3: "BEN and
  471.      Environment Variables" for further details.)
  472.  
  473.      Example:  BEN Echo What's your name?
  474.                BEN GetLine
  475.                BEN Echo So your name is %BEN%!
  476.  
  477. GetLineL
  478.  
  479.      Same as GetLine, but the string is converted into lowercase
  480.      before it is returned.
  481.  
  482.      Example:  BEN Echo What's your name?
  483.                BEN GetLineL
  484.                BEN Echo So your name is %BEN% in lowercase!
  485.  
  486. GetLineU
  487.  
  488.      Same as GetLine, but the string is converted into uppercase
  489.      before it is returned.
  490.  
  491.      Example:  BEN Echo What's your name?
  492.                BEN GetLineU
  493.                BEN Echo So your name is %BEN% in uppercase!
  494.  
  495. Menu title choice1 [choice2 choice3...]
  496.  
  497.      Displays a menu on the screen. The choice that is selected
  498.      by the user is passed back to the batch file as an
  499.      errorlevel. For instance, if the user chooses choice #3, an
  500.      errorlevel of 3 is returned. On the other hand, if the user
  501.      opts to choose nothing, then an errorlevel of 0 is returned.
  502.  
  503.      Please note that tildes (~) are interpreted as spaces, and
  504.      no other function can be stacked after the Menu function is
  505.      used. Also, use a minus sign (-) to tell BEN to display a
  506.      blank line.
  507.  
  508.      Example:  @Echo Off
  509.                BEN Menu Please~make~a~selection:
  510.                     Format~your~hard~drive Diskcopy~a~disk
  511.                     Run~Windows Run~DOSShell Play~Simcity - Quit
  512.                If Errorlevel 6 Goto End
  513.                If Errorlevel 5 Goto SimCity
  514.                If Errorlevel 4 Goto DOSShell
  515.                If Errorlevel 3 Goto Windows
  516.                If Errorlevel 2 Goto DiskCopy
  517.                If Errorlevel 1 Goto Format
  518.                BEN Echo You didn't make a selection!
  519.                Goto End
  520.  
  521.                :Format
  522.                Format C:
  523.                Goto End
  524.  
  525.                :DiskCopy
  526.                DiskCopy A: A:
  527.                Goto End
  528.  
  529.                :Windows
  530.                C:\WIN\WIN
  531.                Goto End
  532.  
  533.                :DOSShell
  534.                DOSShell
  535.                Goto End
  536.  
  537.                :SimCity
  538.                C:
  539.                CD\SimCity
  540.                SimCity
  541.  
  542.                :End
  543.  
  544.      Note:     This example is same in functionality as the
  545.                example that illustrates the Ask function.
  546.  
  547. MenuF filename
  548.      
  549.      This function displays a menu created with MDESIGN, the menu
  550.      designer. Please refer to section 4.2 for more details.
  551.  
  552. MenuLCD title choice1 [choice2 choice3...]
  553.  
  554.      Same as Menu, except that the menu is displayed in black and
  555.      white for added clarity on LCD screens.
  556.  
  557.      Example:  BEN MenuLCD Please~make~a~selection:
  558.                Format~your~hard~drive Diskcopy~a~disk Run~Windows
  559.                Run~DOSShell Play~Simcity - Quit
  560.  
  561. Message FUNCTIONS
  562. ─────────────────
  563.  
  564. Echo message [message...]
  565.  
  566.      Works like the DOS Echo function. Everything after the word
  567.      Echo is displayed using the current writing color. Thus, no
  568.      other functions can be stacked after Echo is used.
  569.  
  570.      If you wish to display a blank line, use the command "BEN
  571.      Echo ~". If you wish to display more than one space between
  572.      two words, use the tilde (~) as a separator instead. For
  573.      example, if you want to display the words "Hello   World,
  574.      this is the computer speaking.", use the command "BEN Echo
  575.      Hello~~~World, this is the computer speaking."
  576.  
  577.      Examples: BEN Echo Hello World!
  578.                BEN Echo This is a test!
  579.                BEN Echo ~
  580.                BEN Echo Hello~~~World, this is the computer
  581.                     speaking.
  582.  
  583. List filename title
  584.  
  585.      Acts as a file browser for the file specified by "filename".
  586.      Tildes (~) in the title are interpreted as spaces.
  587.  
  588.      Examples: BEN List C:\AUTOEXEC.BAT This~is~your~AUTOEXEC!
  589.                BEN List BEN.TXT You~are~reading~BEN.TXT!
  590.  
  591. Message line1 [line2 line3...]
  592.  
  593.      Pops up a message box onto the screen. Tildes (~) are
  594.      interpreted as spaces.
  595.  
  596.      Example:  BEN Message Hello~World! This~is~a~test!
  597.  
  598.      This example will pop up a message box on the screen as
  599.      shown below:
  600.  
  601.                         ┌─[_]───────────┐
  602.                         │               │
  603.                         │Hello World!   │
  604.                         │This is a test!│
  605.                         │               │
  606.                         │     OK  ▄     │
  607.                         │    ▀▀▀▀▀▀     │
  608.                         └───────────────┘
  609.  
  610. Write foreground background message
  611.  
  612.      Writes a string onto the screen using the specified
  613.      foreground and background colors. Tildes (~) in the message
  614.      are interpreted as spaces, and a semi-colon (;) at the end
  615.      of the message tells BEN not to wrap to the next line.
  616.      
  617.      The "foreground" and "background" colors can be specified
  618.      with special words that BEN recognize. These words are:
  619.      Black, Blue, Green, Cyan, Red, Magenta, Brown, LightGray,
  620.      DarkGray, LightBlue, LightGreen, LightCyan, LightRed, Light
  621.      Magenta, Yellow, and White.
  622.      
  623.      You can also specify the colors with a number if you want.
  624.      For example, instead of using the word "Black", you can use
  625.      the number 0. Instead of using the word "Blue", you can use
  626.      the number 1. And so on.
  627.  
  628.      Examples: BEN Write LightRed Blue Hello~World!
  629.                BEN Write LightGreen Black This~is~a~test!;
  630.                BEN Write 7 1 Another~test!
  631.  
  632.      In the first example, BEN displays the string "Hello World!"
  633.      with a color of light red on blue.
  634.      
  635.      In the second example, BEN displays the string "This is a
  636.      test!" with a color of light green on black. Since there is
  637.      a semi-colon (;) at the end of the line, BEN doesn't move
  638.      the cursor to the beginning of the next line. Instead, BEN
  639.      keeps the cursor after the exclamation mark.
  640.  
  641.      In the third example, BEN displays the string "Another
  642.      test!" with a color of light gray on blue.
  643.  
  644. WriteC foreground background message
  645.  
  646.      Same as Write, but the message is centered between the two
  647.      sides of the monitor.
  648.  
  649.      Examples: BEN WriteC LightRed Blue Hello~World!
  650.                BEN WriteC LightGreen Black This~is~a~test!;
  651.                BEN WriteC 7 1 Another~test!
  652.  
  653. WriteV x y foreground background message
  654.  
  655.      Same as Write, but the message is written as a vertical
  656.      column that starts from the position (x,y).
  657.  
  658.      Examples: BEN WriteV 1 1 Yellow Blue An~important~message
  659.                BEN WriteV 40 10 LightCyan Black Hello!
  660.                BEN WriteV 80 1 7 1 Great!!!
  661.  
  662.      In the first example, BEN displays a yellow on blue vertical
  663.      column of string starting from (1,1). The string reads "An
  664.      important message".
  665.  
  666.      In the second example, BEN displays a light cyan on black
  667.      vertical column of string starting from (40,10). The string
  668.      reads "Hello!".
  669.  
  670.      In the third example, BEN displays a light gray on blue
  671.      vertical column of string starting from (80,1). The string
  672.      reads "Great!!!".
  673.  
  674.  
  675. MUSIC FUNCTIONS
  676. ───────────────
  677.  
  678. Beep
  679.  
  680.      Creates a beep sound.
  681.  
  682.      Example:   BEN Beep
  683.  
  684. Play playstring
  685.  
  686.      Plays music using the computer's speaker. The playstring is
  687.      exactly the same in format as the BASIC Play statement. Here
  688.      is a list of the music commands supported:
  689.  
  690.      ML:  legato (8/8 note length)
  691.      MN:  normal music (7/8 note length)
  692.      Ln:  length of notes (n=1-64; note length=1/n, eg. n=2 for
  693.           1/2 note)
  694.      Nn:  Note number (n=0-84; 0 is a rest)
  695.      On:  Octave (n=0-6, default 4)
  696.      Pn:  Pause (n=1-64; pause length=1/n, eg. n=4 for 1/4 note)
  697.      Tn:  Tempo (n=32-255, default 120; quarter notes per minute)
  698.      [:   Move down an octave (min 0)
  699.      ]:   Move up an octave (max 6)
  700.  
  701.      You can also use the actual letters of the notes (C, D, E,
  702.      F, G, A, and B). These correspond to "do, re, mi, fa, so,
  703.      la, ti". To play a scale, you should use "CDEFGAB]C".
  704.  
  705.      The notes may be followed by dots, by note lengths, and by
  706.      sharp or flat symbols (a '+' or '#' for a sharp, a '-' for a
  707.      flat). For example, 'D-.' is a dotted D flat. The dot means
  708.      that the note will play for half again its usual length.
  709.      Dots can be repeated.
  710.  
  711.      You can also use "<" for "[" and ">" for "]" in BEN data
  712.      files that are read by BEN's T function. Don't use these in
  713.      the command line however, because DOS will interpret them as
  714.      redirection signs. If you use them, strange errors may
  715.      occur.
  716.  
  717.      Examples: BEN Play O5CDEFGFEDCP1CC
  718.                BEN Play ]EEEC
  719.  
  720. Sound frequency duration
  721.  
  722.      Uses the computer's speaker to produce a tone with the
  723.      specified frequency for the specified duration. Frequency is
  724.      measured in hertz and duration is measured in milliseconds.
  725.  
  726.      Examples: BEN Sound 1000 1000
  727.                BEN Sound 2000 100
  728.  
  729.  
  730. SCREEN FUNCTIONS
  731. ────────────────
  732.  
  733. Cls background
  734.  
  735.      Clears the screen with the specified color.
  736.  
  737.      The colors can be specified with special words that BEN
  738.      recognize. These words are: Black, Blue, Green, Cyan, Red,
  739.      Magenta, Brown, LightGray, DarkGray, LightBlue, LightGreen,
  740.      LightCyan, LightRed, Light Magenta, Yellow, and White.
  741.  
  742.      You can also specify the color with a number if you want.
  743.      For example, instead of using the word "Black", you can use
  744.      the number 0. Instead of using the word "Blue", you can use
  745.      the number 1. And so on.
  746.  
  747.      Examples: BEN Cls Blue
  748.                BEN Cls Green
  749.  
  750. Color foreground background
  751.  
  752.      Changes the current writing color. ANSI.SYS must be loaded
  753.      for this function to operate.
  754.  
  755.      The "foreground" and "background" colors can be specified
  756.      with special words that BEN recognize. These words are:
  757.      Black, Blue, Green, Cyan, Red, Magenta, Brown, LightGray,
  758.      DarkGray, LightBlue, LightGreen, LightCyan, LightRed, Light
  759.      Magenta, Yellow, and White.
  760.  
  761.      You can also specify the colors with a number if you want.
  762.      For example, instead of using the word "Black", you can use
  763.      the number 0. Instead of using the word "Blue", you can use
  764.      the number 1. And so on.
  765.  
  766.      Examples: BEN Color Yellow Blue
  767.                BEN Color White Red
  768.                BEN Color 7 1
  769.  
  770. Cursor On/Off/Full/Half
  771.  
  772.      Changes the cursor shape. Use On for a normal cursor (_),
  773.      Off for no cursor ( ), Full for a block cursor (█) and Half
  774.      for a half-block cursor (▄).
  775.  
  776.      Examples: BEN Cursor Off
  777.                BEN Cursor Full
  778.  
  779. EGAVGA On/Off
  780.  
  781.      Switches the EGA 43 / VGA 50 line mode on or off. If the EGA
  782.      43 / VGA 50 line mode is switched on successfully, an
  783.      errorlevel of 2 is passed back to the batch file. Otherwise,
  784.      an errorlevel of 1 is returned.
  785.  
  786.      Example:  @Echo Off
  787.                BEN EGAVGA On
  788.                If Errorlevel 2 Goto SUCCESS
  789.                BEN Echo Sorry. Your computer cannot display in
  790.                BEN Echo the EGA 43 or the VGA 50 line mode.
  791.                Goto End
  792.  
  793.                :SUCCESS
  794.                BEN Cls Blue Color White Blue Locate 30 30
  795.                BEN Echo See how big your screen is!
  796.                BEN Locate 30 33
  797.                Pause
  798.                BEN EGAVGA Off
  799.  
  800.                :End
  801.                BEN CleanUp
  802.  
  803. GetVideo
  804.  
  805.      Finds out what kind of video system is installed and returns
  806.      the result via %BEN% (or %BEN2%, %BEN3%, etc. Please refer
  807.      to section 2.3: "BEN and Environment Variables" for further
  808.      details.)
  809.  
  810.      The possible values that can be returned are as follows:
  811.  
  812.      Mono:     The computer has a monochrome system.
  813.      CGA:      The computer has a CGA system.
  814.      EGA:      The computer has an EGA system.
  815.      MCGA:     The computer has a MCGA system.
  816.      VGA:      The computer has a VGA system.
  817.  
  818.      Example:  @Echo Off
  819.                BEN GetVideo
  820.                IF "%BEN%"=="Mono" GOLF /Mono
  821.                IF "%BEN%"=="CGA" GOLF /CGA
  822.                IF "%BEN%"=="EGA" GOLF /EGA
  823.                IF "%BEN%"=="MCGA" GOLF /MCGA
  824.                IF "%BEN%"=="VGA" GOLF /VGA
  825.  
  826.      This example shows a batch file that passes different
  827.      parameters to the GOLF program (a game?) depending on what
  828.      video system the computer has.
  829.  
  830. Locate x y
  831.  
  832.      Moves the screen cursor to the position (x,y).
  833.  
  834.      Examples: BEN Locate 1 1
  835.                BEN Locate 10 15
  836.  
  837. Scroll x1 y1 x2 y2 direction
  838.  
  839.      Scrolls the text enclosed in the (x1,y1)-(x2,y2) box.
  840.      'Direction' can be one of the following: UP, DOWN, LEFT,
  841.      RIGHT.
  842.  
  843.      Examples: BEN Scroll 1 1 80 25 UP
  844.                BEN Scroll 10 10 20 20 LEFT
  845.  
  846.  
  847. MISCELLANEOUS FUNCTIONS
  848. ───────────────────────
  849.  
  850. CleanUp
  851.  
  852.      This function should be called at the end of batch files. It
  853.      does four things:
  854.      1.   Changes the writing color to normal DOS color (same as
  855.           calling BEN Color LightGray Black).
  856.      2.   Changes the cursor to a normal shape (same as calling
  857.           BEN Cursor On).
  858.      3.   Erases all the environment variables that have been
  859.           created by BEN (IE. %BEN%, %BEN2%, %BEN3%, etc.)
  860.      4.   Restores the PATH if the SavePath function had been
  861.           called previously. (Please refer to the discussion on
  862.           the SavePath function.)
  863.  
  864.      Example:  BEN CleanUp
  865.  
  866. Delay milliseconds
  867.  
  868.      Pauses the computer for the specified number of
  869.      milliseconds. (1000 milliseconds = 1 second)
  870.  
  871.      Examples: BEN Delay 1000
  872.                BEN Delay 5000
  873.  
  874. DirDisp directory
  875.  
  876.      Displays a file selection box and allows the user to select
  877.      a file. The name of the selected file is stored into %BEN%
  878.      (or %BEN2%, %BEN3%, etc. Please refer to section 2.3: "BEN
  879.      and Environment Variables" for further details.)
  880.  
  881.      If the user presses ESC and opts not to choose any file,
  882.      then %BEN% is set to contain nothing.
  883.  
  884.      Example:  BEN DirDisp C:\
  885.                IF "%BEN%"=="" Goto Chose_Nothing
  886.                BEN Echo You've chosen %BEN%!
  887.                Goto End
  888.                :Chose_Nothing
  889.                BEN Echo You didn't choose any file!
  890.                :End
  891.  
  892. DirDispA directory filemask sortorder returnstring
  893.  
  894.      This is the advanced version of DirDisp. In addition to the
  895.      starting directory, you can specify the file mask and the
  896.      sorting order.
  897.      
  898.      'Filemask' specifies the types of file you want to display.
  899.      For example, if you want to display only EXE files, you can
  900.      use a filemask of "*.EXE". If you want to display both EXE
  901.      and COM files, you can use a filemask of "*.EXE~*.COM"
  902.      [different types of files are separated with tildes (~).]
  903.      
  904.      'Sortorder' specifies the order which DirDispA uses to
  905.      display the files. It can be one of the following:
  906.  
  907.      NAME      -    Files sorted on names in ascending order.
  908.      EXTENSION -    Files sorted on extensions in ascending
  909.                     order.
  910.      TIME      -    Files sorted on time from the earliest to the
  911.                     latest.
  912.      SIZE      -    Files sorted on size from the smallest to the
  913.                     largest.
  914.      X         -    Files are unsorted.
  915.  
  916.      You can also specify only the first letter of the sortorder
  917.      you want. For example, instead of "BEN DirDispA C:\ *.*
  918.      NAME", you can use "BEN DirDispA C:\ *.* N". This is not
  919.      suggested, however, because it decreases the legibility of
  920.      your batch file.
  921.  
  922.      Example:  BEN DirDispA C:\ *.BAT~*.SYS~*.EXE EXTENSION
  923.                BEN Echo You've picked the file %BEN%!
  924.  
  925. Extract source mask
  926.  
  927.      This is a function that extracts a certain part of a fully
  928.      qualified filename (eg. the result from DirDisp or GetCD)
  929.      and stores it into %BEN% (or %BEN2%, %BEN3%, etc. Please
  930.      refer to section 2.3: "BEN and Environment Variables" for
  931.      further details.)
  932.  
  933.      'Source' specifies the source string from which you want to
  934.      extract information. Usually, you should place an
  935.      environment variable here.
  936.  
  937.      'Mask' specifies the part of the selected filename you want
  938.      BEN to return to you. It can contain one or more letters
  939.      which define what BEN should put into %BEN%:
  940.  
  941.      D    -    Returns only the drive part of the source (eg. C:)
  942.      P    -    Returns only the path part of the source without
  943.                the trailing backslash (eg. \TELECOM)
  944.      \    -    Adds a trailing backslash to the path
  945.      N    -    Returns only the name part of the source
  946.                (eg. AUTOEXEC)
  947.      .    -    Adds a dot to the name
  948.      E    -    Returns only the extension part of the source (eg.
  949.                BAT)
  950.      
  951.      Example:  BEN DirDisp C:\TELECOM
  952.                SET SELECT=%BEN%
  953.                BEN Extract %SELECT% D
  954.                BEN Echo You've selected a file that is located in
  955.                     drive %BEN%
  956.                BEN Extract %SELECT% P
  957.                BEN Echo This file has a path (without trailing
  958.                     backslash) of %BEN%
  959.                BEN Extract %SELECT% P\
  960.                BEN Echo This file has a path (with trailing
  961.                     backslash) of %BEN%
  962.                BEN Extract %SELECT% N
  963.                BEN Echo This file's name is %BEN%
  964.                BEN Extract %SELECT% E
  965.                BEN Echo And its extension is %BEN%
  966.                BEN Extract %SELECT% N.E
  967.                BEN Echo Its filename (name+extension) is %BEN%
  968.                BEN Extract %SELECT% P\N.E
  969.                BEN Echo Its path, name and extension is %BEN%
  970.                BEN Extract %SELECT% DP\N.E
  971.                BEN Echo This file's full name is %BEN%!
  972.                BEN Echo ~
  973.                BEN GetCD
  974.                BEN Extract %BEN% DRIVE
  975.                BEN Echo You're currently in %BEN% drive.
  976.      
  977. Flush
  978.  
  979.      Clears the keyboard buffer.
  980.  
  981.      Example:  BEN Flush
  982.  
  983. GetCD
  984.  
  985.      Finds out what the current directory is and stores it into
  986.      %BEN% (or %BEN2%, %BEN3%, etc. Please refer to section 2.3:
  987.      "BEN and Environment Variables" for further details.)
  988.  
  989.      Example:  BEN GetCD
  990.                BEN Echo Hey man, you're in the %BEN% directory!
  991.                
  992. Pause
  993.  
  994.      Pauses the computer until the user presses a key.
  995.  
  996.      Example:   BEN Pause
  997.  
  998. SavePath
  999.  
  1000.      Saves the PATH environment variable into a file called
  1001.      SavePath.DAT (this file is stored in the current directory)
  1002.      and erases the PATH environment variable. Using this
  1003.      function can free up environment space so that BEN functions
  1004.      that make use of the environment (eg. GetLine) can function
  1005.      better. Remember to use the CleanUp function to restore the
  1006.      PATH upon the completion of the batch file.
  1007.  
  1008.      Caution:  Make sure that you don't change directory after
  1009.                using SavePath. If you do, you must change back to
  1010.                the directory where SavePath stores SavePath.DAT
  1011.                before you run CleanUp.
  1012.  
  1013.      Example:  @Echo Off
  1014.                BEN SavePath
  1015.                BEN Echo Your PATH has been saved!
  1016.                BEN CleanUp
  1017.                BEN Echo Your PATH is restored!
  1018.  
  1019. Shell
  1020.  
  1021.      "Jumps to DOS". After this function is used, the user can
  1022.      work in DOS as long as he/she want. He/she can let the batch
  1023.      file regain control by typing EXIT.
  1024.  
  1025.      Example:  BEN Shell
  1026.  
  1027. T filename
  1028.  
  1029.      Runs all the instructions in the data file. This lets BEN
  1030.      perform its jobs at a quicker speed.
  1031.  
  1032.      The data file is just a normal text file (ASCII format). It
  1033.      can be created with any text editor, such as BENEDIT or the
  1034.      EDLIN or the EDIT programs included with DOS. The format of
  1035.      the text file is as follows:
  1036.  
  1037.      FUNCTIONS
  1038.      FUNCTIONS
  1039.      FUNCTIONS
  1040.      .
  1041.      .
  1042.      .
  1043.      FUNCTIONS
  1044.      <End of File>
  1045.  
  1046.      The FUNCTIONS are exactly the same functions as those that
  1047.      are ran from the command line. For example:
  1048.  
  1049.      BEN T DATA.DAT
  1050.      
  1051.      where DATA.DAT contains:
  1052.      
  1053.      Box 1 1 80 25 Yellow Green 3
  1054.      Pause
  1055.      Cursor Off
  1056.      Cls Blue
  1057.      <End of File>
  1058.      
  1059.      is exactly the same as doing this:
  1060.      
  1061.      BEN Box 1 1 80 25 Yellow Green 3
  1062.      BEN Pause
  1063.      BEN Cursor Off
  1064.      BEN Cls Blue
  1065.      ;This is a comment line.
  1066.      ;Comment lines start with a ';'.
  1067.      
  1068.      Usually, you should only use the T function when you have a
  1069.      large quantity of functions that you wish to be processed by
  1070.      BEN.
  1071.      
  1072.      Examples: BEN T MYFILE.DAT
  1073.                BEN T C:\BATCH\INSTRUCT
  1074.  
  1075. ─────────────────────────────────────────────────────────────────
  1076. 2.3  BEN and environment variables
  1077.  
  1078. Several of BEN's functions (IE. GetKey, GetKeyL, GetKeyU,
  1079. GetLine, GetLineL, GetLineU, DirDisp, DirDispA, Extract, GetCD
  1080. and GetVideo) return their results using environment variables.
  1081. After you use any one of these functions, you can access the data
  1082. that BEN returns by calling the variable %BEN%. Just put %BEN% in
  1083. your batch file where you want the data to appear. For example,
  1084. if you want to get the user's name and re-display it, you can do
  1085. the following:
  1086.  
  1087. BEN Write White Black Please~enter~your~name:~; GetLine
  1088. BEN Write White Black Your~name~is~%BEN%!
  1089.  
  1090. If you stack several functions that return data via environment
  1091. variables, the first result would be stored into %BEN%, the
  1092. second result into %BEN2%, the third into %BEN3%, and so on. For
  1093. example, if you want to ask the user to enter two favorite colors
  1094. and re-display them, you can do the following:
  1095.  
  1096. BEN Write White Black Enter~your~two~favorite~colors:
  1097. BEN GetLine GetLine
  1098. BEN Write White Black So~they~are:~%BEN%~and~%BEN2%!
  1099.  
  1100. Note:     At the end of your batch file, you should make a call
  1101.           to BEN's CleanUp function to erase all the variables
  1102.           that BEN have created (IE %BEN%, %BEN2%, %BEN3%, etc.)
  1103.  
  1104. ─────────────────────────────────────────────────────────────────
  1105. 3.1  BENEdit
  1106.  
  1107. BENEdit is a text editor that is included with your BEN package.
  1108. With BENEdit, you can create and edit batch files quickly and
  1109. easily.
  1110.  
  1111. BENEdit and BEN (the Batch ENhancer) work together to provide you
  1112. with the perfect environment to do all your batch works. Now, you
  1113. can use all your time to productive means by accessing all the
  1114. features of BEN inside BENEdit. Just select any BEN function
  1115. under the "BEN Functions" menu and answer a few questions.
  1116. BENEdit will instantly create the necessary batch program lines
  1117. for you. Creating batch files is never so easy before!
  1118.  
  1119. To run BENEdit, simply enter this command in DOS:
  1120.  
  1121. BENEDIT
  1122.  
  1123. If you want to open up a file when BENEdit loads, type BENEDIT
  1124. followed by the filename in DOS. For example, if you want to load
  1125. the file "QD.BAT", you can enter this command in DOS:
  1126.  
  1127. BENEDIT QD
  1128.  
  1129. BENEdit is so easy to use that further documentation is not
  1130. required. If you have a problem, press F1 in BENEdit to bring up
  1131. the context-sensitive help. Make sure that the file BENEDIT.HLP
  1132. is in the same directory as BENEDIT.EXE. Otherwise, the context-
  1133. sensitive help wouldn't work!
  1134.  
  1135. ─────────────────────────────────────────────────────────────────
  1136. 3.2  MDESIGN
  1137.  
  1138. Starting from version 3.10, BEN is included with an utility
  1139. called MDESIGN. With this program, you can create a menu data
  1140. file which can be accessed from BEN. With MDESIGN, many
  1141. properties of a menu can be changed easily. Like BENEDIT, it is
  1142. very easy to use.
  1143.  
  1144. Example:  If you have created a menu data file called TEST.MNU,
  1145.           you can access it from BEN easily with the command
  1146.  
  1147.           BEN MenuF TEST.MNU
  1148.           
  1149.           Errorlevels are returned to the calling batch file
  1150.           similar to the Menu function.
  1151.  
  1152. ─────────────────────────────────────────────────────────────────
  1153. 4.1  Legality information
  1154.  
  1155. Disclaimer:
  1156.  
  1157. Use of this program acknowledges this disclaimer of warranty:
  1158. "This program is supplied as is. SIMVIS SOFT disclaims all
  1159. warranties, expressed or implied, including, without limitation,
  1160. the warranties of merchantability and of fitness of this program
  1161. for any purpose. SIMVIS SOFT assumes no liability for damages
  1162. directly or consequential, which may result from the use of this
  1163. program."
  1164.  
  1165. Trademarks:
  1166.  
  1167. IBM and PC-DOS are trademarks of International Business Machines
  1168. Corporation. MS-DOS, EDLIN, Windows and SMARTDRV are trademarks
  1169. of Microsoft Corporation. SPEEDISK is a trademark of Symantec.
  1170. SIM CITY is a trademark of Maxis. MAGIK Menu is a trademark of
  1171. SIMVIS SOFT.
  1172.  
  1173. Acknowledgments:
  1174.  
  1175. Doyal Belcher
  1176. Edwin Lee
  1177. Erik Lee
  1178. Jay Norwalk
  1179. Jonathan Shek
  1180.  
  1181. ─────────────────────────────────────────────────────────────────
  1182. 5.1  How to install ANSI.SYS
  1183.  
  1184. a.   Find ANSI.SYS from your DOS distribution disk and put it in
  1185.      the C:\ directory.
  1186.  
  1187. b.   Add the following line to your CONFIG.SYS (CONFIG.SYS is
  1188.      located in your C:\ directory) by using BENEdit, EDLIN or
  1189.      other text editors:
  1190.  
  1191.      DEVICE=C:\ANSI.SYS
  1192.  
  1193.      Note:     If you don't know where to add this line in
  1194.                CONFIG.SYS, just add it before the first line.
  1195.  
  1196. c.   Reboot your computer.
  1197.  
  1198. ─────────────────────────────────────────────────────────────────
  1199. 5.2  Hints and Tips:
  1200.  
  1201. -    If you run out of environment space in the middle of your
  1202.      batch file, you should use the SavePath function. If this
  1203.      still doesn't work, increase your environment space by
  1204.      adding this line to your CONFIG.SYS:
  1205.  
  1206.      Shell=C:\COMMAND.COM /P /E:4096
  1207.  
  1208.      If this still doesn't work, increase 4096 to a higher
  1209.      number.
  1210.  
  1211. -    Stack functions together to speed up access. For example,
  1212.      instead of using "BEN Beep" followed by "BEN Pause", use
  1213.      "BEN Beep Pause" or "BEN Beep / Pause".
  1214.  
  1215.      Note:     Don't stack functions so much that a command line
  1216.                has more than 120 characters. DOS can only read
  1217.                about 120 characters at a time.
  1218.  
  1219. -    Using a disk optimizer on the disk (eg. SPEEDISK) containing
  1220.      BEN.EXE will speed up the operation of BEN.
  1221.  
  1222. -    Using a cache on your disk (eg. SMARTDRV, PC-CACHE) will
  1223.      speed up the operation of BEN.
  1224.  
  1225. -    In Windows, if you run a batch file that uses blinking
  1226.      characters, run it inside a full screen, since DOS windows
  1227.      cannot display blinking characters.
  1228.  
  1229. -    Use BENEdit to develop all your batch files. It's much
  1230.      easier to access the features of BEN from BENEdit than
  1231.      trying to memorize all of them.
  1232.  
  1233. -    In BENEdit, if you have a mouse, you can find out the
  1234.      coordinates of any screen positions by:
  1235.  
  1236.      a.   moving your mouse pointer to that position
  1237.  
  1238.      b.   reading the (X,Y) ordered pair at the right side of the
  1239.           status line.
  1240.  
  1241. -    If you are trying to develop a password program, you may
  1242.      discover that BEN doesn't function properly. For example,
  1243.      this may be the core of your batch file:
  1244.  
  1245.      BEN Echo Please enter the password:
  1246.      BEN GetLineU
  1247.      IF "%BEN%"=="COMPUTER RULES" Goto ACCESS
  1248.      BEN Echo You have entered the incorrect password. Bye.
  1249.      Goto End
  1250.  
  1251.      :ACCESS
  1252.      BEN Echo You have entered the correct password!
  1253.  
  1254.      :End
  1255.  
  1256.      Why doesn't this work? Because GetLine and GetLineU turns
  1257.      spaces into nulls (ASCII 255) before putting the result into
  1258.      %BEN%. You can work around this by using the null character
  1259.      when you test the password. Instead of the command:
  1260.  
  1261.      IF "%BEN%"=="COMPUTER RULES" Goto ACCESS
  1262.                           ^
  1263.                         SPACE
  1264.  
  1265.      You should use the command:
  1266.  
  1267.      IF "%BEN%"=="COMPUTER RULES" Goto ACCESS
  1268.                           ^
  1269.                          NULL
  1270.  
  1271.      You can enter a null character from any text editor (eg.
  1272.      BENEdit) by holding the ALT-key, pressing the keys "2", "5",
  1273.      "5" on the numeric keypad, and releasing the ALT-key.
  1274.  
  1275. -    To create blinking text, use a light background. For
  1276.      example, if you want to display a blinking yellow message on
  1277.      a blue background, use a foreground color of yellow and a
  1278.      background color of light blue:
  1279.  
  1280.      BEN Write Yellow LightBlue Hello~World!
  1281.  
  1282. -    Files browsed with List can be zoomed, moved and sized by
  1283.      using the F5, CTRL-F5 and ALT-F5 keys respectively. Menu
  1284.      boxes can also be moved with the CTRL-F5 key.
  1285.  
  1286. -    If you use the Box, FilledBox, GrowFilledBox or
  1287.      ShadFilledBox functions, you can create good-looking borders
  1288.      by specifying an ASCII number as the borderstyle. For
  1289.      example, to create a box with a border made up of "_", enter
  1290.      the following command:
  1291.  
  1292.      BEN Box 1 1 80 25 LightGray Blue 251
  1293.  
  1294. -    If you port some BASIC Play statements to BEN's Play
  1295.      commands, remember to turn all "<"'s to "["'s and all ">"'s
  1296.      to "]"'s. Or, put all the statements into a data file and
  1297.      use BEN's T function to access them.
  1298.  
  1299. -    Use the Color command before the Locate command.
  1300.  
  1301. -    Examining the BENDEMO files is a good way to learn BEN
  1302.      functions.
  1303.  
  1304. -    If you are a programmer, use BEN to develop INSTALL.BATs for
  1305.      your programs.
  1306.  
  1307. -    If you work in a network, use BEN to develop network batch
  1308.      utilities.
  1309.  
  1310. -    Register BEN and get the bonus BENMOUSE program. With
  1311.      BENMOUSE, you can make use of the mouse in your batch files.
  1312.  
  1313. ─────────────────────────────────────────────────────────────────
  1314. 5.3  Support, bug reports, comments, problems...
  1315.  
  1316. If you need technical support, feel that this manual is
  1317. inadequate, or uncover any bugs, please contact me:
  1318.  
  1319. Simon Lee
  1320.  
  1321. 7905 Bayview Ave.
  1322. Unit 1019
  1323. Thornhill  Ontario
  1324. Canada
  1325. L3T 7N3
  1326.  
  1327. Phone:    (416) 882-2514
  1328. Fax:      (416) 882-2527
  1329.  
  1330. Comments are extremely welcome.
  1331.  
  1332. ─────────────────────────────────────────────────────────────────
  1333. 6.1  Shareware Registration
  1334.  
  1335. BEN is NOT free software. BEN is NOT public domain software. BEN
  1336. is shareware: you are expected to pay a registration fee to the
  1337. author of this program if you find it useful. You are allowed to
  1338. use BEN for free within a trial period of 60 days. After 60 days,
  1339. if you continue to use BEN, you must register.
  1340.  
  1341. There are three editions of BEN available for registration:
  1342.  
  1343. A>   Personal Edition - $39
  1344.  
  1345.      With registration, you get the following:
  1346.      -    Complete BEN package on a disk:
  1347.  
  1348.           -    BEN.EXE with your specified registration name
  1349.                encoded into the code.
  1350.                
  1351.           -    BENMOUSE.EXE (a bonus version of BEN that has the
  1352.                ability to make use of mouses) with your specified
  1353.                registration name encoded into the code.
  1354.                
  1355.           -    BENEDIT.EXE with your specified registration name
  1356.                encoded into the code.
  1357.                
  1358.           -    MDESIGN.EXE with your specified registration name
  1359.                encoded into the code.
  1360.                
  1361.           -    All other BEN-related files.
  1362.                
  1363.      -    Next version of the complete BEN package on a disk free
  1364.           of charge.
  1365.           
  1366.      -    One printed manual that covers all aspects of BEN.
  1367.           
  1368.      -    Free technical support.
  1369.           
  1370. B>   Programmer's Edition - $99
  1371.  
  1372.      With registration, you get the following:
  1373.      -    Complete BEN package on a disk:
  1374.  
  1375.           -    BEN.EXE with your specified registration name
  1376.                encoded into the code.
  1377.                
  1378.           -    BENMOUSE.EXE (a bonus version of BEN that has the
  1379.                ability to make use of mouses) with your specified
  1380.                registration name encoded into the code.
  1381.                
  1382.           -    BENEDIT.EXE with your specified registration name
  1383.                encoded into the code.
  1384.                
  1385.           -    MDESIGN.EXE with your specified registration name
  1386.                encoded into the code.
  1387.                
  1388.           -    All other BEN-related files.
  1389.                
  1390.      -    Next version of the complete BEN package on a disk free
  1391.           of charge.
  1392.           
  1393.      -    One printed manual that covers all aspects of BEN.
  1394.           
  1395.      -    A distribution license. With this license, you are
  1396.           permitted to use BEN to create batch utilities that you
  1397.           can distribute, royalty-free.
  1398.           
  1399.      -    Free technical support.
  1400.           
  1401. C>   Business Edition - $199
  1402.  
  1403.      With registration, you get the following:
  1404.      -    Complete BEN package on a disk:
  1405.  
  1406.           -    BEN.EXE with your specified registration name
  1407.                encoded into the code.
  1408.                
  1409.           -    BENMOUSE.EXE (a bonus version of BEN that has the
  1410.                ability to make use of mouses) with your specified
  1411.                registration name encoded into the code.
  1412.                
  1413.           -    BENEDIT.EXE with your specified registration name
  1414.                encoded into the code.
  1415.                
  1416.           -    MDESIGN.EXE with your specified registration name
  1417.                encoded into the code.
  1418.                
  1419.           -    All other BEN-related files.
  1420.                
  1421.      -    All future versions of the complete BEN package on a
  1422.           disk free of charge.
  1423.           
  1424.      -    Five sets of printed manuals that covers all aspects of
  1425.           BEN.
  1426.           
  1427.      -    A site license for unlimited number of users on a LAN.
  1428.           
  1429.      -    A distribution license. With this license, you are
  1430.           permitted to use BEN to create batch utilities that you
  1431.           can distribute, royalty-free.
  1432.           
  1433.      -    Free technical support.
  1434.           
  1435. To order, please send $39, $99 or $199 (depending on which
  1436. edition you want) + $5 Postage/Handling to the following address:
  1437.  
  1438.                             Simon Lee
  1439.                         7905 Bayview Ave.
  1440.                             Unit 1019
  1441.                        Thornhill  Ontario
  1442.                              Canada
  1443.                              L3T 7N3
  1444.  
  1445. Notes:
  1446.  
  1447. -    Do specify the registration name (eg. Mr. Bill Smith, ABC
  1448.      Company).
  1449. -    Do specify the size of the disk you want (IE. 5.25" or 3.5")
  1450. -    Pay in cash or cheque.
  1451. -    Make all cheques payable to Simon Lee.
  1452. -    Pay in Canadian currency if ordered from Canada. Pay in US
  1453.      currency if ordered from US or other countries.
  1454.  
  1455. *    You can simplify the registration process by selecting the
  1456.      "Register" option under the system menu in BENEdit.
  1457.